home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / extmath.zip / EXTNEG.S < prev    next >
Text File  |  1993-01-06  |  621b  |  39 lines

  1. ; Negate 64-bit number
  2. ;
  3. ; Tim Victor, January 5, 1993
  4. ;
  5. ; Callable from C as follows:
  6. ; int ExtNeg(val);
  7. ;   always return 0
  8. ;
  9.         .model  small
  10.         .code
  11.         public _ExtNeg
  12. _ExtNeg proc near
  13.  
  14.         push si
  15.         mov  si,sp
  16.         mov  si,[si+4]  ; source address
  17.  
  18.         sub  ax,ax
  19.         neg  word ptr [si]
  20.  
  21.         mov  bx,ax
  22.         sbb  bx,[si+2]
  23.         mov  [si+2],bx
  24.  
  25.         mov  bx,ax
  26.         sbb  bx,[si+4]
  27.         mov  [si+4],bx
  28.  
  29.         mov  bx,ax
  30.         sbb  bx,[si+6]
  31.         mov  [si+6],bx
  32.  
  33.         pop  si
  34.         ret
  35.  
  36. _ExtNeg endp
  37.         end
  38.  
  39.